package pl.gigiel.behaviour;

import com.jme.math.Vector3f;
import com.jme.renderer.ColorRGBA;

public interface IBoidFeatures {
	public String getId();

	void setId(String id);

	float getMass();

	void setMass(float mass);

	Vector3f getSize();

	void setSize(Vector3f size);

	ColorRGBA getColor();

	void setColor(ColorRGBA color);

	float getAgility();

	void setAgility(float agility);

	float getSpeed();

	void setSpeed(float speed);

	float getStamina();

	void setStamina(float stamina);

	Vector3f getPosition();

	void setPosition(Vector3f position);

	Vector3f getVelocity();

	void setVelocity(Vector3f velocity);

	Vector3f getDirection();

	IBoid getTargetBoid();

	void setTargetBoid(IBoid targetBoid);

	Vector3f getTargetPoint();

	void setTargetPoint(Vector3f targetPoint);

	IBoid getAntiTargetBoid();

	void setAntiTargetBoid(IBoid antiTargetBoid);

	Vector3f getAntiTargetPoint();

	void setAntiTargetPoint(Vector3f antiTargetVector3f);

	IBoidFeatures clone();
}
